/*
 * @lc app=leetcode.cn id=461 lang=typescript
 *
 * [461] 汉明距离
 */

// @lc code=start

//  思想：异或、移位
//  异或后逐位右移，通过与1与判断最低为是否为1，为1则count++

//  复杂度： O(logC) O(1)

function hammingDistance(x: number, y: number): number {
    let res = x ^ y, count = 0
    while (res) {
        if ((res & 1) !== 0) count++
        res >>= 1
    }
    return count
};
// @lc code=end

console.log(hammingDistance(1, 3));

